#pragma once
enum color
{
	Red,
	Black
};

template<class T>
struct RBNode
{
	RBNode<T>* _left;
	RBNode<T>* _right;
	RBNode<T>* _parent;
	color _col;
	T _date;
	RBNode(const T&date)
		:
		_left(nullptr),
		_right(nullptr),
		_parent(nullptr),
		_col(Black),
		_deta(date)
	{}
};

template<class T>
class RBIterator
{
public:
	typedef RBNode<T> Node;
	typedef RBIterator<T> iterator;
	Node* _node;





private:
	Node* _node;
};

template<class K,class V>
class RBTree
{
public:
	typedef RBNode<T> Node;
	 

	

private:
};